@mitu

Ah yeah you're right - it is a compatibility version after all.

I will definitely give panthor a go eventually, just need to migrate everything over. The reason I'm using panfork is because the mali blobs dont work with panthor at the moment because the kernel driver is different. Mali is more performant than Panthor/Panfork in PS2/Gamecube by a long mile.

I did try downloading the standalone version of citra and running the sdl2-config version (i.e no qt GUI) but I didnt have much luck. I thought it may work because Android citra only officially requires OpenGLES 3.2 support. Oh well.

retrolite@retro-lite-cm5:/usr/local/bin$ MESA_GL_VERSION_OVERRIDE=4.3 MESA_GLSL_VERSION_OVERRIDE=430 malirunW ./citra /media/retrolite/CM5Handheld/roms/3ds/Mario.3ds Running ./citra on Wayland with libmali [ 0.000300] Config <Info> citra/config.cpp:LoadINI:46: Successfully loaded /home/retrolite/.config/citra-emu/sdl2-config.ini Couldn't open plugin directory: No such file or directory No plugins found, falling back on no decorations [ 0.340817] Input <Info> input_common/udp/client.cpp:StartCommunication:206: Starting communication with UDP input server on 127.0.0.1:26760 arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '6'. [ 0.382169] Frontend <Info> citra/citra.cpp:main:402: Citra Version: 1e2be72 | master-1e2be72e5 [ 0.382176] Config <Info> common/settings.cpp:LogSettings:83: Citra Configuration: [ 0.382178] Config <Info> common/settings.cpp:operator():80: Core_UseCpuJit: true [ 0.382181] Config <Info> common/settings.cpp:operator():80: Core_CPUClockPercentage: 100 [ 0.382182] Config <Info> common/settings.cpp:operator():80: Renderer_UseGLES: true [ 0.382185] Config <Info> common/settings.cpp:operator():80: Renderer_GraphicsAPI: OpenGL [ 0.382186] Config <Info> common/settings.cpp:operator():80: Renderer_AsyncShaders: false [ 0.382188] Config <Info> common/settings.cpp:operator():80: Renderer_AsyncPresentation: true [ 0.382189] Config <Info> common/settings.cpp:operator():80: Renderer_SpirvShaderGen: true [ 0.382191] Config <Info> common/settings.cpp:operator():80: Renderer_Debug: false [ 0.382192] Config <Info> common/settings.cpp:operator():80: Renderer_UseHwShader: true [ 0.382193] Config <Info> common/settings.cpp:operator():80: Renderer_ShadersAccurateMul: false [ 0.382194] Config <Info> common/settings.cpp:operator():80: Renderer_UseShaderJit: false [ 0.382196] Config <Info> common/settings.cpp:operator():80: Renderer_UseResolutionFactor: 1 [ 0.382198] Config <Info> common/settings.cpp:operator():80: Renderer_FrameLimit: 100 [ 0.382199] Config <Info> common/settings.cpp:operator():80: Renderer_VSyncNew: true [ 0.382201] Config <Info> common/settings.cpp:operator():80: Renderer_PostProcessingShader: none (builtin) [ 0.382203] Config <Info> common/settings.cpp:operator():80: Renderer_FilterMode: true [ 0.382204] Config <Info> common/settings.cpp:operator():80: Renderer_TextureFilter: None [ 0.382206] Config <Info> common/settings.cpp:operator():80: Renderer_TextureSampling: GameControlled [ 0.382209] Config <Info> common/settings.cpp:operator():80: Stereoscopy_Render3d: 0 [ 0.382211] Config <Info> common/settings.cpp:operator():80: Stereoscopy_Factor3d: 0 [ 0.382212] Config <Info> common/settings.cpp:operator():80: Stereoscopy_MonoRenderOption: 0 [ 0.382213] Config <Info> common/settings.cpp:operator():80: Layout_LayoutOption: 2 [ 0.382215] Config <Info> common/settings.cpp:operator():80: Layout_SwapScreen: false [ 0.382216] Config <Info> common/settings.cpp:operator():80: Layout_UprightScreen: false [ 0.382220] Config <Info> common/settings.cpp:operator():80: Layout_LargeScreenProportion: 4 [ 0.382221] Config <Info> common/settings.cpp:operator():80: Utility_DumpTextures: false [ 0.382222] Config <Info> common/settings.cpp:operator():80: Utility_CustomTextures: false [ 0.382222] Config <Info> common/settings.cpp:operator():80: Utility_PreloadTextures: false [ 0.382223] Config <Info> common/settings.cpp:operator():80: Utility_AsyncCustomLoading: true [ 0.382224] Config <Info> common/settings.cpp:operator():80: Utility_UseDiskShaderCache: false [ 0.382225] Config <Info> common/settings.cpp:operator():80: Audio_Emulation: HLE [ 0.382226] Config <Info> common/settings.cpp:operator():80: Audio_OutputType: 2 [ 0.382227] Config <Info> common/settings.cpp:operator():80: Audio_OutputDevice: auto [ 0.382228] Config <Info> common/settings.cpp:operator():80: Audio_InputType: 0 [ 0.382229] Config <Info> common/settings.cpp:operator():80: Audio_InputDevice: auto [ 0.382231] Config <Info> common/settings.cpp:operator():80: Audio_EnableAudioStretching: true [ 0.382232] Config <Info> common/settings.cpp:operator():80: Camera_OuterRightName: blank [ 0.382232] Config <Info> common/settings.cpp:operator():80: Camera_OuterRightConfig: [ 0.382233] Config <Info> common/settings.cpp:operator():80: Camera_OuterRightFlip: 0 [ 0.382234] Config <Info> common/settings.cpp:operator():80: Camera_InnerName: blank [ 0.382234] Config <Info> common/settings.cpp:operator():80: Camera_InnerConfig: [ 0.382235] Config <Info> common/settings.cpp:operator():80: Camera_InnerFlip: 0 [ 0.382236] Config <Info> common/settings.cpp:operator():80: Camera_OuterLeftName: blank [ 0.382236] Config <Info> common/settings.cpp:operator():80: Camera_OuterLeftConfig: [ 0.382238] Config <Info> common/settings.cpp:operator():80: Camera_OuterLeftFlip: 0 [ 0.382239] Config <Info> common/settings.cpp:operator():80: DataStorage_UseVirtualSd: true [ 0.382239] Config <Info> common/settings.cpp:operator():80: DataStorage_UseCustomStorage: false [ 0.382241] Config <Info> common/settings.cpp:operator():80: System_IsNew3ds: true [ 0.382242] Config <Info> common/settings.cpp:operator():80: System_LLEApplets: false [ 0.382243] Config <Info> common/settings.cpp:operator():80: System_RegionValue: -1 [ 0.382243] Config <Info> common/settings.cpp:operator():80: System_PluginLoader: false [ 0.382244] Config <Info> common/settings.cpp:operator():80: System_PluginLoaderAllowed: true [ 0.382245] Config <Info> common/settings.cpp:operator():80: Debugging_DelayStartForLLEModules: true [ 0.382245] Config <Info> common/settings.cpp:operator():80: Debugging_UseGdbstub: false [ 0.382246] Config <Info> common/settings.cpp:operator():80: Debugging_GdbstubPort: 24689 [ 0.651842] Audio.DSP <Info> audio_core/hle/aac_decoder.cpp:AACDecoder:27: Created FAAD2 AAC decoder. [ 0.662619] Audio.Sink <Info> audio_core/cubeb_sink.cpp:StateCallback:135: Cubeb Audio Stream Started [ 0.662641] RPC_Server <Info> core/rpc/rpc_server.cpp:RPCServer:14: Starting RPC server. [ 0.662927] RPC_Server <Info> core/rpc/rpc_server.cpp:HandleRequestsLoop:104: Request handler started. [ 0.664328] Service.HTTP <Error> core/hle/service/http/http_c.cpp:DecryptClCertA:1975: ClCertA file missing [ 0.664442] Render.OpenGL <Info> video_core/renderer_opengl/gl_driver.cpp:ReportDriverInfo:133: GL_VERSION: OpenGL ES 3.2 v1.g6p0-01eac0.ba52c908d926792b8f5fe28f383a2b03 [ 0.664444] Render.OpenGL <Info> video_core/renderer_opengl/gl_driver.cpp:ReportDriverInfo:134: GL_VENDOR: ARM [ 0.664445] Render.OpenGL <Info> video_core/renderer_opengl/gl_driver.cpp:ReportDriverInfo:135: GL_RENDERER: Mali-LODX [ 1.504010] Render.OpenGL <Info> video_core/renderer_opengl/gl_blit_helper.cpp:BlitHelper:75: Texture views are unsupported, reinterpretation will do intermediate copy [ 1.513656] Loader <Info> core/loader/ncch.cpp:Load:270: Program ID: 000400000007AE00 [ 1.513705] Service.FS <Warning> core/file_sys/ncch_container.cpp:OpenFile:126: Failed to open /home/retrolite/.local/share/citra-emu/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/0004000e/0007ae00/content/00000000.app [ 1.571495] Loader <Info> core/hle/kernel/process.cpp:ParseKernelCaps:196: ExHeader kernel version: 2.32 [ 1.572938] Service.FS <Info> core/file_sys/ncch_container.cpp:LoadSectionExeFS:506: Attempting to load logo from the ExeFS [ 1.600878] Frontend <Warning> common/linux/gamemode.cpp:StartGamemode:15: Failed to start gamemode: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory [ 2.140401] Service.SRV <Warning> core/hle/service/sm/srv.cpp:RegisterClient:63: (STUBBED) called. Caller PID=11 [ 2.140690] Service.SRV <Warning> core/hle/service/sm/srv.cpp:EnableNotification:85: (STUBBED) called [ 2.147424] Service.NDM <Warning> core/hle/service/ndm/ndm_u.cpp:OverrideDefaultDaemons:186: (STUBBED) bit_mask=0x0000000F [ 2.148340] Service.NDM <Warning> core/hle/service/ndm/ndm_u.cpp:SuspendDaemons:74: (STUBBED) bit_mask=0x00000006 [ 2.160986] Service.FS <Warning> core/hle/service/fs/fs_user.cpp:InitializeWithSdkVersion:1062: (STUBBED) called, version: 0x040100C8 [ 2.161837] Service.FS <Error> ./core/file_sys/archive_backend.h:GetOpenDelayNs:209: Delay generator was not initalized. Using default [ 2.208175] Service.FS <Error> ./core/file_sys/archive_backend.h:GetOpenDelayNs:209: Delay generator was not initalized. Using default [ 2.265163] Service.CFG <Info> core/hle/service/cfg/cfg.cpp:UpdatePreferredRegionCode:797: Preferred region code set to 1 [ 2.288698] Service.FS <Error> core/file_sys/savedata_archive.cpp:OpenDirectory:343: Unexpected file in path /home/retrolite/.local/share/citra-emu/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/0007ae00/data/00000001/BigRedSave.dat [ 2.290118] Service.FS <Error> ./core/file_sys/archive_backend.h:GetOpenDelayNs:209: Delay generator was not initalized. Using default [ 2.319132] Service.FS <Error> core/file_sys/savedata_archive.cpp:OpenFile:75: Non-existing file /home/retrolite/.local/share/citra-emu/nand/data/00000000000000000000000000000000/sysdata/00010034/00000000/BOSS_SV.db can't be open without mode create. [ 2.319145] Service.FS <Error> core/file_sys/savedata_archive.cpp:OpenFile:75: Non-existing file /home/retrolite/.local/share/citra-emu/nand/data/00000000000000000000000000000000/sysdata/00010034/00000000/BOSS_SS.db can't be open without mode create. [ 2.319147] Service.BOSS <Error> core/hle/service/boss/online_service.cpp:InitializeSession:104: Could not open BOSS database. [ 2.319917] Service <Error> core/hle/service/service.cpp:ReportUnimplementedFunction:168: unknown / unimplemented function 'Initialize': port='nim:aoc' cmd_buf={[0]=0x210000 (0x0021, 0, 0)} [ 3.059720] Service.APT <Warning> core/hle/service/apt/apt.cpp:NotifyToWait:338: (STUBBED) app_id=768 [ 3.062647] Service.APT <Warning> core/hle/service/apt/apt.cpp:AppletUtility:687: (STUBBED) called command=0X00000007, input_size=0X00000004, output_size=0X00000001 [ 3.063026] Service.APT <Warning> core/hle/service/apt/apt.cpp:AppletUtility:687: (STUBBED) called command=0X00000004, input_size=0X00000001, output_size=0X00000001 [ 3.208259] Service.FS <Error> ./core/file_sys/archive_backend.h:GetOpenDelayNs:209: Delay generator was not initalized. Using default [ 3.208303] Service.FS <Warning> core/file_sys/archive_ncch.cpp:OpenFile:146: Mii data file missing. Loading open source replacement from memory [ 3.268403] Service.SRV <Warning> core/hle/service/sm/srv.cpp:Subscribe:212: (STUBBED) called, notification_id=0x209 [ 3.268611] Service.SRV <Warning> core/hle/service/sm/srv.cpp:Subscribe:212: (STUBBED) called, notification_id=0x207 [ 3.466954] Service.APT <Warning> core/hle/service/apt/apt.cpp:SetAppCpuTimeLimit:710: (STUBBED) called, must_be_one=1, value=30 [ 3.468328] Service.DSP <Info> audio_core/hle/hle.cpp:LoadComponent:459: Firmware hash: 0x3318473a60c8e953 [ 3.468333] Service.DSP <Info> audio_core/hle/hle.cpp:LoadComponent:463: Structures hash: 0x228655de1258d999 [ 3.468335] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:LoadComponent:191: called size=0xC20A, prog_mask=0x00FF, data_mask=0x00FF [ 3.469027] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:RegisterInterruptEvents:258: Registered interrupt=2, channel=2, event=event-0015ae48 [ 3.469318] Service.DSP <Warning> core/hle/service/dsp/dsp_dsp.cpp:GetSemaphoreEventHandle:275: (STUBBED) called [ 3.469581] Service.DSP <Warning> core/hle/service/dsp/dsp_dsp.cpp:SetSemaphoreMask:285: (STUBBED) called mask=0x2000 [ 3.469979] Audio.DSP <Info> audio_core/hle/hle.cpp:PipeWrite:224: Application has requested initialization of DSP hardware [ 3.470158] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:SetSemaphore:57: called, semaphore_value=4000 [ 3.471772] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:SetSemaphore:57: called, semaphore_value=4000 [ 3.507926] Service.APT <Warning> core/hle/service/apt/apt.cpp:AppletUtility:687: (STUBBED) called command=0X00000004, input_size=0X00000001, output_size=0X00000001 [ 4.139077] Service.FS <Warning> core/file_sys/archive_ncch.cpp:OpenFile:156: Shared Font file missing. Loading open source replacement from memory [ 4.306572] Service.FS <Error> ./core/file_sys/archive_backend.h:GetOpenDelayNs:209: Delay generator was not initalized. Using default [ 4.306798] Service.FS <Error> ./core/file_sys/file_backend.h:GetReadDelayNs:51: Delay generator was not initalized. Using default [ 4.307488] Service.FS <Error> ./core/file_sys/archive_backend.h:GetOpenDelayNs:209: Delay generator was not initalized. Using default [ 4.330600] Service.FS <Error> ./core/file_sys/file_backend.h:GetReadDelayNs:51: Delay generator was not initalized. Using default [ 4.331206] Service.NDM <Warning> core/hle/service/ndm/ndm_u.cpp:SuspendDaemons:74: (STUBBED) bit_mask=0x00000001 [ 4.384387] Service.FS <Error> core/file_sys/savedata_archive.cpp:OpenFile:67: Path not found /home/retrolite/.local/share/citra-emu/nand/data/00000000000000000000000000000000/sysdata/00010026/00000000/CEC/0007ad00/MBoxInfo____ [ 4.385554] Service.NDM <Warning> core/hle/service/ndm/ndm_u.cpp:ResumeDaemons:89: (STUBBED) bit_mask=0x00000001 [ 4.387664] Service.FS <Error> core/file_sys/savedata_archive.cpp:OpenDirectory:343: Unexpected file in path /home/retrolite/.local/share/citra-emu/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/0007ae00/data/00000001/BigRedSave.dat [ 4.391908] Service.FS <Warning> ./core/file_sys/archive_backend.h:Control:198: (STUBBED) called, archive=SaveDataArchive: /home/retrolite/.local/share/citra-emu/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/0007ae00/data/00000001/, action=00000000, input_size=00000001, output_size=00000001 [ 7.066372] Service.FS <Warning> core/hle/service/fs/file.cpp:OpenLinkFile:376: (STUBBED) File command OpenLinkFile Path: [Binary: 000000000000000000000000] Unhandled SIGSEGV at pc 0x0000ffffa5af7b84 /usr/sbin/malirunW: line 14: 3663 Segmentation fault './citra' '/media/retrolite/CM5Handheld/roms/3ds/Mario.3ds'

malirunW looks something like this:

#!/bin/bash APP=$(which $1) ARGS=${@:2} HASRPATH=$(chrpath -l $APP | grep -o /usr/lib) export LIBGL_DEEPBIND=0 export LD_LIBRARY_PATH="/usr/lib/gl4es:/usr/lib/libmali/wayland:$LD_LIBRARY_PATH" # linux linker loads the shared libs in the order of 1. RPATH of the elf, then LD_LIBRARY_PATH # if a binary has RPATH pointed out to /usr/lib, then this causes system GL libraries to load # in such a case we load the app directly with linker ommitting the rpath of /usr/lib echo $HASRPATH if [ -z $HASRPATH ] then echo "Running ${APP} on Wayland with libmali" eval "${@@Q}" else echo "Running ${APP} on Wayland with libmali using linker" eval "/lib/ld-linux-aarch64.so.1 --inhibit-rpath :/usr/lib ${@@Q}" fi